package com.founder.devwork.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.founder.devwork.dto.res.EngineerStatsDTO;
import com.founder.devwork.entity.Engineer;
import java.util.List;

/**
 * EngineerService 用于操作 Engineer 表。
 * 提供查询工程师信息的方法。
 */
public interface EngineerService extends IService<Engineer> {
    /**
     * 根据部门ID查询所有工程师
     *
     * @param deptId 部门ID
     * @return Engineer列表，包含工程师信息
     */
    List<Engineer> listByDeptId(String deptId);

    /**
     * 查询工程师统计信息
     *
     * @param page 页码
     * @param size 每页条数
     * @param department 部门
     * @param name 姓名
     * @param sortBy 排序字段
     * @param sortDirection 排序方向（ASC/DESC）
     * @return EngineerStatsDTO列表，包含工程师统计信息
     */
    IPage<EngineerStatsDTO> getEngineerStats(int page, int size, String department, String name, String sortBy, String sortDirection);
}
